<h5>Interfacing the Wiring hardware and Pure Data pd~</h5>
<p>This tutorial introduces the basic interfacing between the Wiring hardware and Pure Data <a href="http://puredata.info">http://puredata.info</a>. The brief for the tutorial will be to read simple values from the Wiring board. It assumes the Wiring software and Pure Data are installed and the proper Wiring setup has been previously completed. For more Information on Wiring install check out the <a href="http://wiring.org.co/learning/tutorials/">tutorials</a> about Wiring installation and software setup.</p>
<h5>Step 1</h5>
<p>Copy and paste the following code on the Wiring editor: Verify your program is free of compiling errors by pressing the Compile/Verify button in the menu bar. Press the Upload button in the menu bar. In case of syntax errors the Wiring environment will print the error messages otherwise it will print the Upload was completed successfully, the uploading process triggers activity in the Rx/Tx LEDs on the Wiring hardware. The new program will start automatically after uploading. Use the Serial Monitor button to watch the data coming from the Wiring board, then close the Serial Monitor again.</p>
<pre>
/** 
 * Photoresistor / Pure Data

 * 
 * Reads values from a photoresistor connected to the 
 * analog input pin 0. The value read from the sensor is proportional
 * to the amount of light that hits the sensor surface.
 * The value read is printed through the serial to be monitored
 * in the console or received on Pure Data
 */

int val; 

void setup()
{
  Serial.begin(9600);      // sets the serial port to 9600
}

void loop() 
{
  val = analogRead(0);     // read analog input pin 0
  Serial.print(val/4, BYTE);  // prints the value read from the
                               // sensor in analog pin 0 divided by 4 (range 0-255)
  delay(200);                  // wait 200ms for next reading
}
</pre>
<p>&nbsp;</p>
<h5>Step 2</h5>
<p>Next step is to setup things in Pure Data. Start Pure Data. </p>
<p>Note: The object &quot;comport&quot; has 2 attributes, the first one is the port number and the second one is the speed of the port which should match the speed set in the Wiring program.</p>
<p><img src="imgs/pd-01.png" width="696" height="509" /></p>
<p>&nbsp;</p>
<h5>Step 3</h5>
<p>Connect the objects as shown:<code></code>
<p><img src="imgs/pd-02.png" width="696" height="509" /></p>
<p>&nbsp;</p>
<h5>Step 4</h5>
<p>Press the message &quot;devices&quot; to print in the console the available ports, in this case the correct serial port is the port # 2:</p>
<p><img src="imgs/pd-03.png" width="627" height="520" /></p>
<h5>Step 5</h5>
<p>Routing the connections sometimes produce a more readable patch, now the patch is ready to be tested, set the right port in the list, automatically the port start to receiving data. The incoming data will be shown in the console and visualized int the horizontal slider.</p>
<img src="imgs/pd-04.png" width="657" height="471" />
<p>&nbsp;</p>
<p><img src="imgs/pd-05.png" width="627" height="520" /></p>
<p>Next &gt;&gt; <a href="PureData2.html">Sending data to the Wiring board from Pure Data</a></p>
